package se.schtohan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.SessionAttributes;
import se.schtohan.model.CustomerModel;

import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;

@Controller
@SessionAttributes("customer")
public class RegisterController {

    @RequestMapping(value="/register", method= RequestMethod.GET)
    public String getRegister(Model model) {
        model.addAttribute("customer", new CustomerModel());
        return "register";
    }

    @RequestMapping(value="/register", method= RequestMethod.POST)
    public String postRegister(@Valid @ModelAttribute("customer") CustomerModel customer, BindingResult bindingResult, Model model) {
        if(bindingResult.hasErrors()) {
            return "register";
        }
        model.addAttribute("customer", customer); //När vi lägger till customer i modellen kommer det också att läggas till som ett SessionAttribute eftersom vi har deklarerat ett @SessionAttribute med samma namn.
        return "register";
    }

}
